﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 生产订单AITDTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class MOAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public MOAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
		
					ProductQty=0m; 
		
		
		
		
		
		
		
		
		
		
		
		
					MOSourceDocType= -1; 
							ProductQtybyCostUOM=0m; 
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        	        			if (this.PickList!=null)
			{
				foreach(ufida.u9.ait.openapi.MOPickListAITDTOData objdata in this.PickList)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        			if (this.MOOperations!=null)
			{
				foreach(ufida.u9.ait.openapi.MOOperationAITDTOData objdata in this.MOOperations)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        	        	        			if (this.Org != null) 
			{
				this.Org.DoSerializeKeyList(dict);
			}
	        			if (this.MODocType != null) 
			{
				this.MODocType.DoSerializeKeyList(dict);
			}
	        			if (this.ItemMaster != null) 
			{
				this.ItemMaster.DoSerializeKeyList(dict);
			}
	        	        			if (this.Department != null) 
			{
				this.Department.DoSerializeKeyList(dict);
			}
	        			if (this.BOMMaster != null) 
			{
				this.BOMMaster.DoSerializeKeyList(dict);
			}
	        			if (this.CompleteWh != null) 
			{
				this.CompleteWh.DoSerializeKeyList(dict);
			}
	        			if (this.DescFlexField != null) 
			{
				this.DescFlexField.DoSerializeKeyList(dict);
			}
	        	        	        			if (this.Project != null) 
			{
				this.Project.DoSerializeKeyList(dict);
			}
	        			if (this.SrcDoc != null) 
			{
				this.SrcDoc.DoSerializeKeyList(dict);
			}
	        	        	        
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public MOAITDTOData(  System.String docNo  , List<ufida.u9.ait.openapi.MOPickListAITDTOData> pickList  , List<ufida.u9.ait.openapi.MOOperationAITDTOData> mOOperations  , System.String startDate  , System.Decimal productQty  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData org  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData mODocType  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData itemMaster  , System.String businessDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData department  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData bOMMaster  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData completeWh  , ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData descFlexField  , System.String completeDate  , System.String mOMemos  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData project  , ufida.u9.ait.openapi.CopyOfMOSourceDocData srcDoc  , System.Int32 mOSourceDocType  , System.Decimal productQtybyCostUOM  , System.String actualStartDate  )
		{
			initData();
			this.DocNo = docNo;
			this.PickList = pickList;
			this.MOOperations = mOOperations;
			this.StartDate = startDate;
			this.ProductQty = productQty;
			this.Org = org;
			this.MODocType = mODocType;
			this.ItemMaster = itemMaster;
			this.BusinessDate = businessDate;
			this.Department = department;
			this.BOMMaster = bOMMaster;
			this.CompleteWh = completeWh;
			this.DescFlexField = descFlexField;
			this.CompleteDate = completeDate;
			this.MOMemos = mOMemos;
			this.Project = project;
			this.SrcDoc = srcDoc;
			this.MOSourceDocType = mOSourceDocType;
			this.ProductQtybyCostUOM = productQtybyCostUOM;
			this.ActualStartDate = actualStartDate;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 单号
		/// 生产订单AITDTO.Misc.单号
		/// </summary>
		private System.String m_docNo ;
		[DataMember(IsRequired=false)]
		public System.String DocNo
		{
			get	
			{	
				return m_docNo ;
			}
			set	
			{	
				m_docNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 备料集合
		/// 生产订单AITDTO.Misc.备料集合
		/// </summary>
		private List<ufida.u9.ait.openapi.MOPickListAITDTOData> m_pickList ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.MOPickListAITDTOData> PickList
		{
			get	
			{	
				if (m_pickList == null )
				{
					List<ufida.u9.ait.openapi.MOPickListAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.MOPickListAITDTOData>() ;
					m_pickList = n_m_list ;
				}
				return m_pickList ;
			}
			set	
			{	
				m_pickList = value ;	
			}
		}
			
		

		/// <summary>
		/// 订单工序
		/// 生产订单AITDTO.Misc.订单工序
		/// </summary>
		private List<ufida.u9.ait.openapi.MOOperationAITDTOData> m_mOOperations ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.MOOperationAITDTOData> MOOperations
		{
			get	
			{	
				if (m_mOOperations == null )
				{
					List<ufida.u9.ait.openapi.MOOperationAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.MOOperationAITDTOData>() ;
					m_mOOperations = n_m_list ;
				}
				return m_mOOperations ;
			}
			set	
			{	
				m_mOOperations = value ;	
			}
		}
			
		

		/// <summary>
		/// 计划开工日期
		/// 生产订单AITDTO.Misc.计划开工日期
		/// </summary>
		private System.String m_startDate ;
		[DataMember(IsRequired=false)]
		public System.String StartDate
		{
			get	
			{	
				return m_startDate ;
			}
			set	
			{	
				m_startDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 生产数量
		/// 生产订单AITDTO.Misc.生产数量
		/// </summary>
		private System.Decimal m_productQty ;
		[DataMember(IsRequired=false)]
		public System.Decimal ProductQty
		{
			get	
			{	
				return m_productQty ;
			}
			set	
			{	
				m_productQty = value ;	
			}
		}
			
		

		/// <summary>
		/// 组织
		/// 生产订单AITDTO.Misc.组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_org ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Org
		{
			get	
			{	
				return m_org ;
			}
			set	
			{	
				m_org = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据类型
		/// 生产订单AITDTO.Misc.单据类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_mODocType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData MODocType
		{
			get	
			{	
				return m_mODocType ;
			}
			set	
			{	
				m_mODocType = value ;	
			}
		}
			
		

		/// <summary>
		/// 料品
		/// 生产订单AITDTO.Misc.料品
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_itemMaster ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ItemMaster
		{
			get	
			{	
				return m_itemMaster ;
			}
			set	
			{	
				m_itemMaster = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据日期
		/// 生产订单AITDTO.Misc.单据日期
		/// </summary>
		private System.String m_businessDate ;
		[DataMember(IsRequired=false)]
		public System.String BusinessDate
		{
			get	
			{	
				return m_businessDate ;
			}
			set	
			{	
				m_businessDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 部门
		/// 生产订单AITDTO.Misc.部门
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_department ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Department
		{
			get	
			{	
				return m_department ;
			}
			set	
			{	
				m_department = value ;	
			}
		}
			
		

		/// <summary>
		/// BOM母项
		/// 生产订单AITDTO.Misc.BOM母项
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_bOMMaster ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData BOMMaster
		{
			get	
			{	
				return m_bOMMaster ;
			}
			set	
			{	
				m_bOMMaster = value ;	
			}
		}
			
		

		/// <summary>
		/// 完工存储地点
		/// 生产订单AITDTO.Misc.完工存储地点
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_completeWh ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData CompleteWh
		{
			get	
			{	
				return m_completeWh ;
			}
			set	
			{	
				m_completeWh = value ;	
			}
		}
			
		

		/// <summary>
		/// 描述性弹性域
		/// 生产订单AITDTO.Misc.描述性弹性域
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData m_descFlexField ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
			
		

		/// <summary>
		/// 计划完工日期
		/// 生产订单AITDTO.Misc.计划完工日期
		/// </summary>
		private System.String m_completeDate ;
		[DataMember(IsRequired=false)]
		public System.String CompleteDate
		{
			get	
			{	
				return m_completeDate ;
			}
			set	
			{	
				m_completeDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 备注
		/// 生产订单AITDTO.Misc.备注
		/// </summary>
		private System.String m_mOMemos ;
		[DataMember(IsRequired=false)]
		public System.String MOMemos
		{
			get	
			{	
				return m_mOMemos ;
			}
			set	
			{	
				m_mOMemos = value ;	
			}
		}
			
		

		/// <summary>
		/// 项目
		/// 生产订单AITDTO.Misc.项目
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_project ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Project
		{
			get	
			{	
				return m_project ;
			}
			set	
			{	
				m_project = value ;	
			}
		}
			
		

		/// <summary>
		/// 来源单据
		/// 生产订单AITDTO.Misc.来源单据
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfMOSourceDocData m_srcDoc ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfMOSourceDocData SrcDoc
		{
			get	
			{	
				return m_srcDoc ;
			}
			set	
			{	
				m_srcDoc = value ;	
			}
		}
			
		

		/// <summary>
		/// 来源单据类型
		/// 生产订单AITDTO.Misc.来源单据类型
		/// </summary>
		private System.Int32 m_mOSourceDocType ;
		[DataMember(IsRequired=false)]
		public System.Int32 MOSourceDocType
		{
			get	
			{	
				return m_mOSourceDocType ;
			}
			set	
			{	
				m_mOSourceDocType = value ;	
			}
		}
			
		

		/// <summary>
		/// 生产数量(成本)
		/// 生产订单AITDTO.Misc.生产数量(成本)
		/// </summary>
		private System.Decimal m_productQtybyCostUOM ;
		[DataMember(IsRequired=false)]
		public System.Decimal ProductQtybyCostUOM
		{
			get	
			{	
				return m_productQtybyCostUOM ;
			}
			set	
			{	
				m_productQtybyCostUOM = value ;	
			}
		}
			
		

		/// <summary>
		/// 业务开始时间
		/// 生产订单AITDTO.Misc.业务开始时间
		/// </summary>
		private System.String m_actualStartDate ;
		[DataMember(IsRequired=false)]
		public System.String ActualStartDate
		{
			get	
			{	
				return m_actualStartDate ;
			}
			set	
			{	
				m_actualStartDate = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																																								
		#endregion 
	} 	
}
